package com.decent.ejfadmin.order.service;

import com.decent.ejfadmin.common.bean.ExkSupplyCard;
import com.decent.ejfadmin.common.bean.SupplyCard;

import java.math.BigDecimal;
import java.util.List;

/**
 * 价格检测
 *
 * @author hejunlei
 */
public interface OrderService {

    /**
     * 更新销卡订单状态
     *
     * @param orderId      订单号
     * @param userId       会员id
     * @param status       订单状态
     * @param settlePrice  结算金额
     * @param dbStatus     数据库原状态
     * @param preJudgeFace 预判金额
     * @param failReason   停售原因/成功结算，可空
     * @return 更新行数
     */
    int modifySupplyOrder(String orderId, Long userId, Integer status, BigDecimal settlePrice, Integer dbStatus, BigDecimal preJudgeFace, String failReason);

    /**
     * 收卡明细查询同步功能,查询需要同步的订单
     *
     * @param ids ID
     * @return
     */
    List<SupplyCard> querySynchronousCard(String ids);
    /**
     * 销卡处理
     *
     * @param card       卡
     * @param resultAttr
     * @param state      销卡状态
     * @param dbStatus   数据库状态
     */
    void exkQueryDeal(SupplyCard card, String[] resultAttr, Integer state, Integer dbStatus);
    /**
     * 更新销卡订单状态（增加了号的成本，手机号与商户编号，以计算利润）
     *
     * @param exkSupplyCard 实体
     * @return 返回
     */
    int modifySupplyOrderAdvance(ExkSupplyCard exkSupplyCard);
}
